First stroke locator for a character reader



Oct. 24, 1967 f H. B. CURRIE 3,349,372

FIRST STROKE LOCATOR FOR A CHARACTER READER Filed July zo, 1964 l 6` Sheets-Sheet 1 IN VEN TOR. /kam Came/5 Oct. 24, 1967 H. B. cuRRlE FIRST STROKE LOCATOR FOR A CHARACTER READER 6 Sheets-Sheet 2 Filed July 20, 1964 w., r/HL/ L MMM w w WL ian@ 7 f. i M ,A vwd d d Y m @N4 E www (5 N 0 .www/v iwf@ EMM ./0 Mm i y M w mw w. Y Wn .t im w w M FL T L T PM aaaq j, :il .n f MM m A A A M H m1,@ /v/w/ y W9 f. F W

Oct. 24, 1967 H. B. uRRu-z FIRST STROKE LOCATOR FOR A CHARACTER READER Filed July 2o, 1964 6 Sheets-Sheet 3 @sw K w d a k r FNA. m A FNM. Q N n wmw 1N@ k XN@ A gNNk k w .M w Y M b. w W M. a SQ wkn www uw@ www. www SM. G MQW w e www NNnNk Qnw m w PY www Qwkw NQ www v A w w s hun? .3%. WMN ,QN wkm QWN wWN WNW N\N v .h S Qw Qu www Simd h S A w www Nm. k CN ud I N V E NTOR. #Mam 5 (WK/f l H. B. CURRIE 3,349,372

FIRST STROKE LOCATOR FOR A CHARACTER READER Ocst0 24, 1967 6 Sheets-Sheet 4 l Filed July 20, 1964 um kmbmn .Nnh

Oct. 24,l 1967 I H, B CURRHE 3,349,372

FIRST STROKE LOCATOR FOR A CHARACTER READER y Filed July 2o, 1964 Ff?. .9. 7a4

afm mi I 6 Sheets-Sheet 5 raf .mm/i ac/frm @y Oct. Z4, 1967- 4 H. B. CURRIE 3,349,372

FIRST STROKE LOCATOR FOR A CHARACTER READER Filed July 20, 1964 6 Sheets-Sheet 6 00450 53'! 213335 #fg/30g 222i; i555 040 /vfw (l) :ci 0, 7 /viw /000 4000 4000 (2) 502 02 7 00W' 0/00 4000 0400 l 6?) 5c' 2 0147' 7040K 0400 0400 4000 (4) $00 0 7 7040K 0100 4000- 0400 '6) 500 0,-7 7040/0 0100 0400 4000 '(6) Je 4 F07 70404 0400 4000 0400 f (7) 004 07.4 000K 0010 0400 0040 00 4 057 7040K 0040 0040 4000 (0) :00 057 7040/0 0010 4000 0400 00) 000 0,07 7040K 00/0 0400 0040 0f) 500 0,7 7040Kl 0,0/0 0040 4000 02) 000 :4440 45 004A/ 500 0040 4000 00) 007 0,7 7040K 0040 4000 0400 (f4) 547 037 (0044700) 7040K 0040 0400 0040 (10) s0 7 044 (0044y00) J0/A/ 0040 0040 4000 (10) 500 0,40 @044700) 7l/0 0040 4000 0400 67j 50 0 @64 50044700) 071/0 0010 0400 0/040 INVENTOR.

United States Patent O 3,349,372 FIRST STROKE LOCATOR FOR A CHARACTER READER f Harold B. Currie, Gbbsboro, NJ., assignor to Radio Corporation of America, a corporation of Delaware Filed July 20, 1964, Ser. No. 383,679 7 Claims. (Cl. 340-146.31)

This invention relates to character readers, and more particularly to character lrecognition methods and circuits.

Certain character readers read documents by scanning each character by a plurality of successive vertical scanlines to derive serially occurring video pulses. Video signals occur whenever the outline trace of the character is intercepted in the scanlines and the succession of pulses serially represent the topographical features of the character. The topographical .features of a character may include, among other things, the strokes or divisions into which the outline trace of .a character is divisable. The number and the positioning of the strokes in the characters as well as how they began and end are relied upon, among other features, for differentiating one character from another. For example, a stroke may begin as a new stroke or as a fork away from a previously existing stroke and may end as a join to another stroke or end by itself.

Each of the strokes in a character is detected, tagged with a label, i.e., A, B, etc., and then tracked from scanline to scanline in order to store the features detected from the stroke in a storage medium for that stroke. Thus, at the end of scanning a character, a plurality of stroke 'feature signals are stored in separate storage mediums, one for each stroke detected in the character. Identification is based `on obtaining a specilied number and type of feature signals which unambiguously describe the character. Such a character description is derived by analyzing a character to ascertain the feature signals that occur when the character is scanned. Thus, the character description is based upon data relating to the absolute strokes in a character, i.e., the top or irst stroke, the second stroke, e-tc. However, the detected and stored feature-signals correspond to the tagged strokes, i.e., A, B, etc., not the absolute strokes, i.e., 1, 2, etc., which exist in the character. In characters from some fronts, the top or outermost stroke of a character may not be the first stroke detected when scanning the character.

Therefore, to correctly associate the detected feature signals with the correct absolute strokes it is desirable to identify which of the tagged strokes is actually the outermost or first stroke in the character. Once the top stroke is located, the sequence of the detection of the other tagged strokes in the character corresponds exactly to the sequence of the absolute shrokes in the character.

Accordingly, it is an object of this invention to provide a new and improved character reader.

It is another object of this invention to provide a character reader wherein the outermost stroke of a character is accurately identiiied. l

It is a further object of this invention to provide a character reader wherein the strokes in the character are correctly positioned.

In an embodiment of the invention, characters printed on a document are scanned successively by a plurality of vertical scans to derive video signals which serially represent the feature of a character. The video signals are ICC FIGURES 2 and 3 are diagrammatic representations of the scanning of an individual character by the character reader of FIGURE 1;

FIGURE 4 is a block diagram of the feature recognition circuits utilized in the character reader of FIGURE 1;

FIGURE 5 is a block diagram of a video pulse analyzer utilized in the character 'reader of FIGURE 1;

FIGURES 6 and 7 are block diagrams of a stroke tracker control circuit and a stroke tracker utilized in the character reader of FIGURE l;

FIGURE 8 is a detailed schematic block diagram of one level of the stroke tracker of FIGURE 6;

FIGURE 9 is a block diagram of a top stroke locator utilized in the character reader of FIGURE l;

FIGURE 10 is a block diagram of a control circuit for the character determining circuit; and

FIGURE 1l is a tabular representation of the tracking of strokes in the stroke tracker of FIGURE 7.

Referring now to FIGURE l, a character reader 10 includes a transport mechanism or document handling device 11 for transporting a document 12 having characters 13 printed thereon. The mechanism 11 positions the document 12 so that the characters'13 are scanned by an electro-optical pickup device or scanner 14. The scanner 14 may comprise an electronic scanning system such as -a vidicon camera tube system or alternatively may comprise a mechanical rotating disc scanning system of the Nipkow type. The characters 13 are normally printed on a horizontal line on the document 12 and the characters are scanned successively by a plurality of vertical scanlines which begin at the right of a character and end at the left thereof. The document 12 is moved relative to the scanner 14 at a substantially constant velocity so that successive vertical portions of the character 13 are traversed by successive scans. In FIGURE 1 the transport mechanism is arranged to move the document 12 past the scanner 14 in the direction of the arrow 15.

The output or video signals derived from the scanner 14 are applied to the video processing and quantizing circuit 16 which processes the video signals to provide uniform amplitude pulses having fast rise and fall times. The scanner 14 also generates a start scan pulse SSP at the start of every scan.

The quantized video signals from the quantizer 16 are appliedv t-o a feature recognition circuit 18 which extracts and stores the desired feature signals. At the end of scanningv a character, the feature recognition circuit 18 recognizes the various detected feature signals as a particular character and produces a digitalized code representing the character. The coded output of the feature recognition circuit 1S is applied to an output circuit 20,

analyzed to detect the strokes in a character.- A stroke for example a digital computer, for further processing.

Character scanning FIGURE 2 shows the manner in which an individual character, a numeral 2, is scanned by the scanner 14. A character is scanned from top to bottom while the document is simultaneously moved from left to right by the transport mechanism 11. Thus, each character is scanned substantially orthogonally and successively by a plurality of substantially vertical scanlines commencing at the right and ending at the left of the character. In FIGURE 2, eight scanlines numbered `from 1 to 8 .are shown as scanning the character. Other scanning patterns may be utilized. Each of the scanlines commences at a' line 24 toward the top of the document 12 and ends at a terminal line 26 toward the bottom of the document.

Video pulses are generated by the scanner 14 during the portions of the scanlines when the outline trace of a character is intercepted because of the contrast between the dark characters and a light document. The

video pulses derived from reading the dark characters will be referred to herein as black pulses. The absence of video pulses will be referred to as white level or white pulses. The output signals from the scanner 14 are represented in FIGURES 2 and 3 as a series of lines containing pulses P1, P2, etc., representing the interception of the outline trace of the character. The pulses in FIGURE 3 are shown as quantized pulses after processing by the quantizer 16.

Character features The topographical features of the characters extracted from the quantized video signals by the feature recognition circuits 18 include the strokes exhibited by the characte-rs. A stroke may begin as a completely new stroke or as a fork from a previously existing stroke and may end by itself or end as a join to another stroke. The outline trace of the numeral 2 in FIGURE 2 includes three strokes. A first or top stroke 30, a second or middle diagonal stroke 32, and a third or bottom stroke 34. When scanning from right to left, the top and bottom strokes 30 and 34 begin as new strokes while the middle stroke 32 begins as a fork from the previously existing top stroke v30. The top 30 and middle 32 strokes end by themselves while the bottom stroke 34 ends as a join to the middle stroke 32.

The above stroke features are extracted from the quantized video signals by the feature recognition circuits 13 as will now be briefiy described. It is assumed in this description that the eight scans labeled in FIGURE 2 are the only ones that occur in scanning the numeral 2. The scan SC1, as shown in FIGURE 3, intercepts only the bottom stroke 34 to produce only a single pulse P1 in this scan. The pulse P1 occurring for the first time indicates that a new stroke is detected and it is counted. Thus, a stroke is effectively defined by the character reader as a black video pulse or a black crossing occurring in the video signal. The feature recognition circuits 18 tags the new stroke with a label, e.g., stroke A, and tracks its occurrence throughout the remaining scans of the character.

The scan SC2 produces pulses P2 and P2. The pulse P2 represents a video pulse which occurred for the first time in this portion of a scanline so the feature recognition circuit 18 detects this pulse as a new stroke (the stroke 30) and tags it as stroke B. A second stroke is counted for this character. The present pulse P3 occurring in this scanline SC2 overlaps the delayed pulse P1 (as described later) in scanline SC1 so that the feature recognition circuit 18 recognizes that stroke A has occurred again. A track signal is therefore produced to denote that stroke A is being tracked.

The scan SC3 produces pulses P4 and P5. The present pulses P1 and P5 overlap, respectively, the delayed pulses P2 and P3-so that the feature recognition circuit 18 recognizes that the strokes B and A, respectively, have occurred again. Track B and track A signals are therefore produced. The scan SC4 produces three pulses P6, P7 and P2 denoting that the character has three strokes. The pulse P6 causes a track signal for the stroke B (i.e., for the stroke 30) to be generated. However, the pulse- P7 is a newly detected stroke. Since the video signal becomes white between the pulses P6 and P7, whereas in the previous scan the corresponding portion of the video signal was a non-interrupted black level, the stroke begins as a fork away from a previously existing stroke. Therefore, a third stroke is counted and is tagged stroke C (i.e., stroke 32). The scans SCS and SC6 produce track signals for the B, C and A strokes, respectively, when they occur.

In the scan SC7, two pulses P and P16 occur during the same portions of the scanline that three pulses P12, P13 and P14 occurred in the previous scanline. The present pulse P16 overlaps both the delayed pulses P13 and P14. This indicates to the feature recognition circuits 18 that a stroke ended as a join to another. The stroke A (the bottom stroke 34) ends by merging or joining the stroke C (the middle stroke 32). Track (B), track (C) and join (A) signals are therefore produced during scanline SC7. In the scan SCS the scanner 14 is scanning the intermargin space between characters. No video pulses are detected so an end signal for the stroke B (stroke 30) and an end signal for the stroke C (stroke 32) are generated in this scan.

Feature recognition circuits Referring now to FIGURE 4, there is illustrated a blockdiagram of the feature recognition circuits 18. For simplicity all of the interconnections between the various blocks are not shown in FIGURE 4. The feature recognition circuits 18 include an input video signal terminal 50 to which are applied the quantized video signals derived from the quantizer 16. The video signals from the terminal 50 are applied directly to one input of a black crossing or pulse analyzer 5S as well as through a delay circuit 60 to the other input of the analyzer 58. The delay circuit 60 introduces a time delay into this video signal of exactly one vertical scan interval so that video signals from the present or direct scan a and the previous or delayed scan b are applied coincidentally to the pulse analyzer 58. The pulse analyzer 58 compares the direct a and delayed b scan signals to generate signals denoting the beginning of a stroke as either a new or fork stroke and denoting the termination of a stroke as either a join to another stroke or as an end by itself. The analyzer 58 also recognizes the reoccurrenceof strokes previously encountered by producing track signals. Signals representing the detection of new, fork, track, join, and end stroke information are applied to a stroke tracker control circuit 62. The stroke tracker control circuit 62 functions to provide the necessary signals for the operation of the stroke counter and tracker circuit 64. The stroke counter and tracker circuit 64 operates to count and tag with differently coded labels each of the new and fork strokes detected in the analyzer 58. Each separate tag is utilized to energize or gate open a different location of a character determining circuit 91 so that stroke information signals relating to the separate strokes are stored in separate locations. The stroke counter and tracker 64 associates the correct tag to its corresponding stroke each time the stroke is redetected by the analyzer 58. Thus, the stroke is tracked from scan to scan and the stroke feature signals detected in the scans are stored in the proper location in the character determining circuit 91. The pulse analyzer 58 is also coupled to a top stroke locator 70. The top stroke locator 70 continuously looks for and identifies the top stroke of a character during the scanning of the character. When the end of scanning a character is reached, an end character pulse ECP, generated in a circuit not shown, is applied to a control circuit 92. The control circuit 92 initiates the recognition process in the character determining circuit 91 which leads to the identification of the character.

The first step in the recognition process is to locate the outermost or first stroke of the scanned character. The first stroke detected in scanning any character is tagged stroke A by the stroke counter and tracker circuit 64 even though this stroke is not necessarily the absolute topmost or first stroke of the character. For example, the bottom or third stroke in the numeral 2 in some fonts extends more to the right that the first or second strokes in the character. In right to left scanning,

,it would be detected first and tagged stroke (A) even though it is not the topmost stroke in the character. The next stroke detected is tagged stroke (B) even though this stroke may not be the second stroke of the character, etc. It is desired to translate the tagged strokes A, B, etc., into absolute strokes, i.e., first, second, etc., so that the stroke information feature signals, i.e., join, fork, etc.,Y

detected for each tagged stroke are associated with the correct absolute strokes in the character. For example, consider the numerals 2 and 5. Each character has three strokes. Two of the strokes in each character begin as new strokes while one begins as a for-k away from another. Similarly, two of the strokes in each character end by themselves while one joins another. In the numeral 2, the first stroke begins as a new stroke and ends by itself.

The second stroke begins as a fork and ends by itself.

The third stroke begins -as a new stroke and ends as a join; In the numeral 5, the first stroke begins as a new stroke and ends by itself. The second stroke begins as a new stroke and ends as a join. The third stroke begins as a fork and ends by itself. The stroke information signals for each character are so similar that `a misreading can occur unless the first stroke is located in each character so as to identify both the first and the other strokes in the character. Once the first stroke is located, the second and following strokes are also located since the sequence of the tagged strokes in the stroke counter and tracker circuit 64 duplicates the positioning of the strokes in the character.

Pulse analyzer Referring now to FIGURE 5, a block diagram of the pulse analyzer 58 is shown. The logic circuits in the pulse analyzer 58 as well as in the other gures are made up of a plurality of flip-flops, shift registers, gates, etc., all of which may be of conventional or known design. The notation used in the drawings for the terminals of the flip-flops is S (set) for the set input terminals, R (reset) for the reset terminal, 1 for the set output terminal, and for the reset output terminal. The time delays introduced by the various delay circuits are recorded on the drawing. Inhibit terminals in the various circuits are illustrated as small circles in the drawings and indicate that the circuits are disabled when a positive- 'going 1 input signal is applied to such a terminal.

The video signals from the direct a and delayed b scans are applied to a signal generator 140. The signal generator 140 generatesfrom the signal a and the signal b by well-known circuitry the following signals:

rb-black video signals simultaneously present or over- K lapping in both the present and previous scans,

`---white video signals simultaneously present or overlapping in both the present and previous scans,

aL-pulse signal produced at leading edge of signal a, zT-pulse signal produced at trailing edge of signal a, bL--pulse signal produced at leading edge of signal b, bT-pulse signal produced at trailing edge of signal b, (a'b)T-pulse signalproduced at trailing edge of signal Note particularly that signal (ab)T occurs whenever both scans have been simultaneously black and either one or bothof the' scans go white. All of the above signals may, forexample, be of one microsecond duration.

' The pulse analyzer S8 includes a new stroke detector 142. The new stroke detector 142 includes a ip-op 144 which is set by an aL signal and reset by an a-b signal.

The 1 output terminal of the flip-flop 144 is coupled to one input of an AND gate 146, the other input of whichV comprises an aT signal. A new stroke pulse is derived from the output terminal 150 ofthe AND gate 146 and is also fed back through a delay circuit 148 to reset the ilip-op 144.

Thus, assuming the numeral 2 of FIGURE 2 is being read, the hip-flop 144 is set by the leading edge of a pulse in the present scan, such as the leading edge of the pulsePl in scan SC1 of FIGURE 3. Since no black video signal pulses occurred in the intermargin space before the scan SCI, no a-b signal is produced to reset the flipilop 144. Therefore, when the trailing edge of the pulse P1 occurs, the AND gate 146 is activated and a new stroke pulse is derived from the terminal 150. Thus, the

'of the aL signal and thus prepares the new stroke detector 142 for the next pulse P2 in the next scan. The pulse P2 also produces a new stroke pulse in the scan SC2 and the stroke 30 in the numeral 2 (FIGURE 2) is detected.

The new stroke detector 142 therefore compares the present and previous scans of a character to produce an output if a black video pulse which exists in the present scan does not exist in the corresponding portion in the previous scan. This means that a new portion of the outline trace of a new stroke of a character is being scanned.

A track detector 152 is included in the pulse analyzer 5S to track strokes from scan to scan. The track detector 152 includes a flip-Hop 154 which is set by coupling an 'zi-'5 signal through a delay circuit 156 to the set terminal thereof. The llip-iiop 154 is reset by an output signal from either a fork detector 164 or a join detector 172. The 1 output terminal of the flip-Hop 154 is coupled to one input terminal of an AND gate 158i, the other input of which comprises an (ab)T signal. A track pulse is derived from the output terminal 162 of the AND gate 158.

A track pulse is generated when black video pulses appear simultaneously in both the present and previous scans and no fork or join occurs. The white in the direct scan SC2 after the pulse P2 and the initial white in the delayed scan SG1 in FIGURE 3 sets the flip-flop 154 and enables the AND gate 158. The overlapping occurrence of pulses P1 and P3 in these scans SCI and SC2 produces an a-b signal and the trailing edge of these pulses produces an (a'b)T signal. The AND gate 158 is therefore activated and a track pulse derived from the terminal 162 thereof. Thus, the track detector 152 has detected the stroke 34 of the numeral 2 a second time. A track pulse is also generated at the trailing edges of the pulse P2 and the stroke 30 of the numeral 2 is detected a second time.

In scan SC4, track pulses are produced at the trailing edges of pulses P6 and P8 but not at the trailing edge of pulse P7 since a yfork occurs to reset the flip-flop 154.

A fork detector 164 is provided in the pulse analyzer 58 to detect the forking away of one stroke from another. The fork detector includes a flip-flop 166 which is set by an aT signal and reset by an 'i-lsignal. The l output terminal of the ip-op 166 is coupled to one input terminal of an AND gate 168, the other input of which is an aL signal.

The trailing edge of a pulse in a direct or present scan, such as the pulse P6 in-scan SC4 of FIGURE 3, sets the flip-flop 166 and enables the AND gate 168. The AND Vgate 168 is then activated by the leading edge of the pulse P7 because no intervening white occurred simultaneously in the present and previous scans to provide an (Yi-75) signal to reset Vthe flip-op 166. Thus, the fork detector 164 eifectively'detectsthe forking'away of stroke 32 from stroke 30 in the numeral 2` of FIGURE 2.

A join detector 172 is included in the pulse analyzer 58 to detect the joining of two strokes. The join detector 172 includes a flip-op 174 which is set by a bT signal and reset by an signal. The l output of the flip-flop 174 is coupled toy one input terminal of an AND gate 176, the other input ofwhich comprises a b1, signal. During scan SC7 of FIGURES, the trailing edge of the delayed scan pulse P13 (which first occurred in the scan SC6) sets the flip-flop174and enables the AND gate 176. No intervening white occurs simultaneously in both the present and previous scans to resetthe ip-op 174. Therefore, the leading edge of the next delayed scan pulse Pulactivates the gate 176 and produces a join pulse at the output terminal 178 thereof. Thus, the join detector 172 detectsV the merging of stroke 34 into stroke 32 in FIGURE 2. Y

An end detector 180` is included in the pulse analyzer 58 to detect when a stroke ends by itself rather than by joining another stroke. The end detector 180 includes a flip-flop 182 which is set by a b1I signal and reset by an ab signal. The l output terminal of the flip-flop 182 is coupled to one input of an AND gate 184, the other input of which comprises a bT signal. The output terminal 188 of the AND gate 184 is coupled through a delay circuit 186 to reset the flip-op 182 when an end pulse is -produced.

During the scan SC8 in FIGURE 3, the leading edge of the delayed pulse P from the previous scan SC7 sets the fiip-flop 182. No intervening black occurs simultaneously in both the scans SC7 and SC8 to reset the flip-flop 182, so the trailing edge of the pulse P15 activates the AND gate 184 to produce an end pulse. The pulse output resets the flip-flop 182 in preparation for the generation of another end pulse for the pulse P10. The end detector 180 therefore detects the ending of the strokes 30 and 32 in FIGURE 2 by detecting that no pulses representing these strokes appear in scan SC8.

Stroke tracker control Referring now to FIGURE 6, a stroke tracker control circuit 62 is shown. The stroke tracker control circuit 62 generates the advance pulses for a stroke counter or S counter 220 (FIGURE 7) and a stroke tracker or T register 230 in the stroke counter and tracker circuit 64 (FIGURE 7). The stroke tracker control circuit 62 (FIG- URE 6) includes an input OR gate 240, to which are applied the outputs of the fork and new stroke detectors 164 and 142, respectively, of FIGURE 5. The output of the OR gate 240 comprises advance S pulses for the stroke counter 220 (FIGURE 7).

The stroke tracker control circuit 62 also generates advance T pulses for the stroke tracker 230 and includes another input OR gate 242, the inputs of which comprise a track signal derived from the track detector 152 (FIG- URE 5), an advance S pulse derived from the OR gate 240, and an output pulse derived from a third input OR gate 244. The inputs to the OR gate 244 comprise join and end signals derived from the join and end detectors 172 and 180 (FIGURE 5).

The OR gate 242 is coupled through first and second delay circuits 246 and 248 to one input of an AND gate 250. The other input to the AND gate 250 is -derived from the junction of the delay circuits 246 and 248. Thus, the AND gate 250 is activated 1.5 microseconds after the OR gate 242 is activated. The output of the gate 250 sets a flip-flop 252 and the l output terminal of the flipliop 252 is coupled to an AND gate 254. The output of the AND gate 254 is fed back through a delay circuit 256 to the other input terminal of the AND gate 254, which terminal is an inhibit terminal. The AND gate 254 supplies the advance T pulses for the stroke tracker 230 (FIGURE 7).

The flip-flop 252, the AND gate 254 and the delay circuit 256 comprise an oscillator 255 in that the AND gate 254 is activated by the setting of the flip-Hop 252 and produces an output advance T pulse which is fed back after a y.5 microsecond delay to cut off the gate 254. The duration of the advance T pulse is therefore 0.5 microsecond. As long as the flip-Hop 252 remains set, the AND gate 254 will be activated again and again at a one microsecond period to generate a succession of advance T pulses.

The fiip-iop 252 is reset by the output of an AND gate 258, one input of which 'is derived -from the delay circuit 256. The other input to the gate 258 is derived from an OR gate 260. The OR gate is activated by an all strokes retired signal denoting that all the strokes of a character have either ended or joined. The OR gate 260 is also activated by a particular retired stroke signal (T022) to be described subsequently. Both these signals are derived from the stroke tracker 230 (FIGURE 7). The signal (T022) is applied to an inhibit terminal of the OR gate 260 causing the gate 260 to be activated in the absence of this signal; which is the normal operating condition thereof.

The stroke tracker control circuit 62 also produces a retire stroke signal indicating that a stroke has ended either as a join or an end. The OR gate 244 is coupled through a delay circuit 262 to the set terminal of a flipflop 264 which produces a retire stroke signal level from the l terminal thereof when set. The flip-flop 264 is reset by an advance T pulse derived from the delay circuit 256.

The stroke tracker control circuit 62 also produces a new signal pulse which is delayed with respect to an advance S pulse. The new pulse input to the OR gate 240 is also coupled to the set terminal of a flip-flop 266, the reset terminal of which is coupled to the output of the second delay circuit 248. The l output terminal of the flip-flop 266, as well as the junction of the delay circuits 246 and 248, are coupled to the input terminals of an AND gate 268. The delayed new signal derived from the AND gate 268 is utilized in the top stroke locator 700 (FIGURE 9), as will be described subsequently.

Stroke counter and tracker The stroke or S counter 220 (FIGURE 7) comprises a four-stage ring counter including four ip-flop stages labeled S1 through S4. The fiip-flops S1 through S4 are connected in tandem with the output of the last st-age S4 being connected back to the input of the first stage S1. The stroke counter 220 is initially reset to a 0001 condition by applying a start recognition cycle (SRC) pulse, to be described later, to the reset terminals of the stages S1 through S3 and to the set terminal of the stage S4. The l stored initially in the last stage S4 is advanced to the first stage S1 by the rst -advance S pulse applied to the advance terminals A when the first stroke has been detected in scanning a character. Successive detections of other strokes generate advance S pulses which are applied to the advance the 1 successively to the S2, S3, etc., stages of the counter. The ring counter 220 is coupled to control the cycling of the stroke tracker or T register 230. Ring counters of this type are known. Therefore, the details of the interconnections have not been illustrated.

The stroke tracker 230 comprises a four-stage, threelevel ring register including a plurality of liip-flop circuits. The four stages of the T register 230 are labeled, from left to right T1, T2, T3 and T1, respectively, while the three levels are labeled 20, 21 and 22, from bottom to top respectively. Thus, the flip-flop corresponding to the first stage in the rst level is labeled T120, the flip-flop corresponding to the third stage in the second level is T321, etc.

The flip-flops in the 2 level of the stroke tracker 230 are connected in tandem. The flip-flops in .the 21 and 22 levels are each similarly connected. These multiple connections are represented in FIGURE 7 as a single lead line with diagonal strokes therethrough. An identical notation is utilized for other multi-ple connections both in FIGURE 7 and other figures of the drawings.

Each output of the four stages of the stroke tracker 230 is coupled back to the input of the first stage of its respective level. Thus, the outputs of each of .the flipops in the four stages are coupled, respectively, to AND circuits 280, 282, 284 and 286, which circuits are, respectively, enabled by the 1 output level of the iipflops S1 through S4 in the S counter 220. All of the AND circuits 280 through 286 are coupled to OR circuits 288. The first two levels of the stroke tracker 230, i.e., the 20 and 21 levels, are coupled via the OR circuits 288 directly to the input terminals of the fiip-flops T and T121, respectively, while the third level is coupled through an OR gate 290 to the input terminals of the ip-op T122. The input leads to the first stage T1 are labeled T020, T021, and T022.

A more detailed schematic of the various connections in the stroke tracker 230 for one level, the 22 level, is shown in FIGURE 8. With the exception of the OR gatev 9 290, the 2 and 21 levels of the stroke tracker 230 would be connected identically. Thus, it is :apparent that the AND circuits 280 (FIGURE 7) includes the AND gates 292 and 294 (FIGURE 8) as well as similar pairs of AND gates in the 2o and 21 levels. The same is true of the AND circuits 282 through 286. The OR circuits 288 include OR gates 296 and 298 as well las similar pairs of OR gates in the 20 and 21 levels.

Referring back to FIGURE 7, each of the four stages T1-T4 of the stroke tracker 230 is coupled together to have a common advance terminal A. Advance T pulses are applied to the stroke tracker 230 from the stroke tracker control circuit 62 (FIGURE 6) and from the control circuit 92 (FIGURE 10), to be described later, through an OR gate 300. The output of the gate 300 is coupled to one input terminal of AND gates 302, 304, 306 and 308. The other input to the AND gate 302 is derived from the output terminal, lead S1-0 of the S1 stage of the stroke counter 220. The out-put of the AND gate 302 is coupled to the common advance terminals of each of the T1 -and T2 stages of the stroke tracker 230. Thus, the T1 and T2 stages do not have advance T pulses applied to them when la l is stored in the flip-flop S1.The other inputs to the AND gates 304 and 306 are derived from the 1 output terminals of the stroke counter stages S3 and S4, respectively. The outputs of the AND gates 304 and 306 are coupled through an OR gate 310 to the common advance terminal A of the T2 stage of the stroke tracker 230. Finally, the other input to the AND gates 308 is derived from the l7 output terminal of the S4 stage of the counter 220 and the output of the gate 308 is coupled to the common advance terminal A of the T4 stage 4of the tracker 230. Thus, the application of advance pulses to the stroke tra-cker 230 stages are controlled by the stroke counter 220.

The T1 stage of the tracker 23) is initially reset by a start recognition cycle (SRC) signal to store 001, by applying the SRC signal to the reset terminals of the iiipflops T122 and T121, respectively, and to the set terminal of the flip-flop T120. Similarly, the stages T2, T3 and T4 are reset to store 010, 011 and 000, respectively. The data stored in the 2P and 20 levels of each of the stages T1 through T4 corresponds to the tags or labels given to strokes in a character being read. Thus, 01 is the tag for stroke (A), 10 for stroke (B), 11 for stroke (C) and 00 for stroke (D). The data stored in the 22 level of each of the stages T1-T4 indicate Whether or not a stroke -has been retired either as :a join or tan end. Initially, all of the stages T1-T4 have a 0 stored in the 22 level. As -a stroke ends or joins, a l is stored in the 22 level for that stroke. Thus, 10 indicates that stroke (A) has retired. Included in the stroke tracker 230 is a circuit 320 for indicating when all the strokes in a character have been retired. The all strokes retired circuit 320 includes a plurality'of AND gates coupled to the 22 or ret-ired stroke level of the stroke tracker and to the stroke counter 220. Thus, if one stroke has been counted by the S1 stage in the S counter 220, an AND gate 322 is activated when a l is stored in the flip-op T222. Since only one stroke has been counted by the S counter 220, an all strokes retire-d signal is produced by an OR gate 3,23. It two strokes have been counted, an AND gate 324 is enabled by the output of the S2 stage of the S counter and activated when an AND gate 326 is rst activated by ls stored in the :retired strokes Hip-Hops T122 land T222 in the first two stages of the stroke tracker 230. A pair of AND gates 328 and 330 perform the same function when three strokes, which are counted in a character, are retired. Another pair of AND gates 332 :and 334 do the same for four strokes. The all strokes retired Vsignal is applied to OR circuit 260 of FIGURE 6 to prevent the oscillator 255 in the stroke tracker control circuit 62 from producing any further advance T pulses.

The stroke counter 220 and stroke tracker 230 of FIG- 1G URE 7 make provision only for a maximum of tour strokes in a character. If some characters in a particular font contain more strokes, other stages can readily be added to the stroke counter and tracker.

Top stroke locator Referring now to FIGURE 9, a top stroke locator 700 is shown. The top or outermost stroke locator includes an input ilip-flop 701 which is set by a start scan pulse (SSP) generated in the scanner 14. The i-p-iiop 701 is reset by the output of an OR gate 702, the inputs to which comprise a track signal derived from the pulse analyzer 58 (FIGURE 5) and the output of a delay circuit 704. The "l output terminal of the Hip-flop 701 is coupled to one input terminal of each of the AND gates 706 and 708. The other input to the ANDl gate 706 comprises a new signal derived from the pulse analyzer 58 whereas the other input to the AND gate 708 comprises a new (delayed) signal also derived from the pulse analyzer 58. The output of the AND gate 708 is fed through the delay circuit 704 to comprise the other input to the OR gate 702.

A plurality of flip-Hops 712-715 are provided to designate which of the strokes A through D is the top stroke.

A plurality of AND gates 716-719 are coupled to the setV terminals S, respectively, of the flip-ops 712-715, while the reset signal .for each of these flip-flops comprises the output of the AND gate 706. One input to each of the AND gates 716-719 comprises the output of the AND gate 708, whereas the other inputs to each of the gates 716-719 are derived from the To leadlines of the stroke tracker 230. Each gate admits a dilerent stroke code beginning with the stroke A code for the gate 716 and ending with the stroke D code for the gate 719. The l output terminals of each of the llip-ilops are coupled to one input terminal of the AND gates 720-723, respectively. The other inputs to the AND gates 720-723 comprise the stroke codes A through D from the To leadlines of the stroke tracker 230 similar to the gates 716-719, respectively. All of the outputs of the AND gates 720 through 723 are coupled to an OR gate 724, the output of which is a top or lirst stroke signal.

Control Circuit Referring now to FIGURE l0, a control circuit 92 for the character determining circuits 91 is shown. The control circuit l92. operates to provide the advance T pulses to cycle the stroke tracker 230 until the topmost or trst stroke appears in a prescribed location so that the other strokes detected may be correctly referenced thereto.

The control circuit 92 includes an input flip-flop 550 which is set by an end character pulse (ECP) generated when the end of scanning a character occurs. The l output terminal of the flip-flop 550 is coupled to one input terminal of an AND gate 552. The output of t-he AND gate 552 is coupled through a delay circuit 554 to the other input of the AND gate 552, which is an inhibit input terminal. Thus, the llip-op 550, the AND gate 552 and the delay circuit S54 function as an oscillator `555 wherein the setting of the tlipop 550 causes output pulses to be produced with a 4 microsecond period. The output of the AND gate 552 is coupled to a one-shot multivibrator S56. The one-shot multivibrator 556 is triggered to produce an advance T pulse on the trailing edge of the output pulse of the oscillator 555.

The output of the AND gate 552 is also coupled to one input of an AND gate 558. The other input to the gate 558 comprises a top or first stroke signal derived from the OR gate 724 in the top stroke locator 700 (FIGURE 9). The activation of the AND gate 558 sets a flip-flop S60. The l output terminal of the flip-flop 560 as well as the output pulses of the oscillator 55S are coupled to an AND gate 562. The AND gate 562 is coupled to a modulo (mod.) 4 counter 564. A count of 4 (CT4) in the counter 564 produces an output which is applied to a second delay 1 1 circuit 566. The output of the delay circuit 566 is fed back to reset the input ip-op 550.

Thus, the pulse output of the oscillator 555 produces advance T pulses from the multivibrator 556 for cycling the stroke tracker 230. When the outermost stroke is located, the advance T pulses are counted in the counter 564 and at a count of H4" (the maximum number of strokes in a character) the input ip-op 550 is reset and a start recognition cycle (SRC) signal is generated.

Operation In describing the operation of the character reader 10, it will be assumed that the numeral 2 in FIGURE 2 is being scanned by the scanner 14. As an aid in describing the operation, the table of FIGURE 11 is utilized to trace the sequence of strokes in the stroke tracker 230. In the table of FIGURE 1l, the notation P1L means the leading edge of P1 in scan SC1 of FIGURE 3 and P1T means the trailing edge of this pulse. A similar notation is utilized for the other pulses. The notation ABCD means that the tags or codes 001, `010, 11 and 000 are initially stored in the stages T1 through T4, respectively, of the stroke tracker 230. As the strokes are tracked, the letters become scrambled, i.e., CBAD, etc. The first letter C indicates that the code 011 is now stored in the rst stage T1 of the stroke tracker 230, etc. When one of the letters is primed, it means that this tag has a l stored in the 22 level, i.e., A=l01. This indicates that the stroke has been retired as either a join or an end.

In the scan SC1, the leading edge of pulse P1(aL) sets the flip-flop 144 in the new stroke detector 142 in the black crossing analyzer 58 (FIGURE 5). The trailing edge of pulse P1 (aT) activates the AND gate 146` and produces a new stroke pulse from the new stroke detector 142. The flip-dop 144 is reset by this pulse. The new stroke pulse is applied to the OR gate 240` in the stroke tracker control circuit 62 (FIGURE y6) and produces an advance S pulse. The advance S pulse is applied to the ring counter 220 (FIGURE 7) and advances the l stored in the S4 stage in the S1 stage. One stroke has therefore been counted.

The AND circuit 280 in the stroke tracker 230` (FIG- URE 7) is activated and the To inputs contain the stroke A code. Thus, stroke 34 in FIGURE 2 has been detected and labeled stroke A.

The new stroke pulse also sets the flip-flop 266 (FIG- URE 6) so that when the advance S pulse is coupled through the OR gate 242 and delay circuit 246, the AND gate 268 is activated to produce a delayed new pulse. Both the new and the delayed new pulses are applied to the outermost stroke locator 700 (FIGURE 9). The new pulse activates the AND gate 706 because this gate is previously enabled by the l output signal Ifrom the ip-op 701 due to the setting of this flip-flop by a start scan pulse at the start of the scan SC1, The output of the AND gate 706 resets the flip-flops 712 through 715.

The delayed new pulse activates the AND gate 708 in the rst stroke locator 700 because this gate is also previously enabled by the flip-flop 701. The output of the AND gate 708 is applied to each of the AND gates 716 through 719. The AND gate 716 is activated because the stroke A code is contained in the To leadlines and this code previously enables the gate 716. The flip-flop 712 is set by the output of the gate 716 denoting for the present that stroke A (the stroke 34 in FIGURE 2) is the top stroke in the character being read. The output of the AND gate 708 is also lfed back through the delay circuit 704 to reset the flip-flop 701 to prevent a second new signal in the same scanline from relocating the top stroke.

The advance S pulse also sets the flip-flop 252 in the stroke tracker control circuit 62 (FIGURE 6) after a delay introduced by the delay circuits 264 and 248. The AND gate 254 is therefore activated and an advance T pulse produced. The advance T pulse is fed back to inhibit the AND gate 254 as well as to activate the AND gate 258. The AND gate 258 had been previously enabled by the inversion of the existing 0 in the T1122 leadline. The flip-flop 252 is therefore reset preventing additional advance T pulses from being generated by the oscillator 255. The advance T pulse is applied to the OR gate 300 (FIGURE 7) but does not advance the stroke tracker 230 since none of the AND gates 302, 304, 306 and 308 are enabled by the stroke counter 220. Thus, at the end of the scan SC1, the stroke 34 of FIGURE 2 is the first stroke detected in the character and is tagged stroke A. This stroke is also denoted the top stroke because no other stroke is detected in the scan prior to the detection of the stroke 34.

In the scan SC2, the pulse P2 causes a new stroke pulse to be generated by the new stroke detector 142 (FIGURE 5) and an advance S pulse to be produced by the stroke tracker control circuit 62 (FIGURE 6). This advance S pulse advances the l in the stroke counter 220 (FIGURE 7) to the S2 stage thereof. The AND circuit 282 and the OR circuit 288 in FIGURE 7 are activated While the AND circuit 280 is deactivated. The B stroke code therefore appears in the To leadlines of the stroke tracker 230 because of the activation of the AND circuits 282.

The new 'pulse also activates the AND gate 706 in the top stroke locator 700 to reset the flip-flops 712 through 715. Thus, stroke A is no longer recorded as the top stroke of the character. A delayed new pulse produced in the stroke tracker control circuit 62 by the advance S pulse is applied to activate the AND gate 7117 in the top stroke locator 700. The gate 717 is previously enabled because the B stroke code appears in the To leadlines. The activation of the gate 717 sets the flip-flop 713 and records that the B stroke (i.e., the stroke 30) is the top stroke in the character being scanned. The delayed new pulse is also fed back through the delay circuit 704 to reset the dip-flop 701.

The advance S pulse also causes one advance T pulse to be generated by the oscillator 255 (FIGURE 6) and the advance T pulse activates the AND gate 302 (FIGURE 7) to advance the T1 and T2 stages of the stroke tracker 230. The B stroke code O10 in the T2 stage is'fed back through the AND circuit 282 and OR circuit 288 to the T1 stage while the A stroke code 001 is advanced to'he T2 stage. The T3 and T4 stages do not change because no advance pulses are applied to them due to the disabling of the AND gates304, 306 and 308 by the S3 and S4 stages of the stroke counter 220. Thus, the stroke 30 in the character 2 of FIGURE 2 has been detected and tagged stroke B. This stroke is also recorded as the top stroke in the character. Two strokes have been counted in the character. The new state of the stroke tracker 230' is BACD with the A stroke code in the last stage (T2) of the active cycling stages of the stroke tracker 230. Thus, the T11 inputs contain the stroke A code and the stroke tracker 230 is awaiting the redetection of this stroke.

The absence of black video (fl) in the portion of the delayed (b) and present (a) video signals just prior to the pulse P3 in scan SC2 (FIGURE 3) sets the flip-flop 154 in the track detector 152 (FIGURE 5). The trailing edge of pulse P3, i.e., (ab)T activates the AND gate 158 and produces a track pulse. The track pulse is applied to reset the dip-flop 701 in the top stroke locator 700 (FIGURE 9). This track pulse has no effect in this example since this flip-op is previously reset by the delayed new pulse produced by the pulse P2 in the same scan SC2. A track pulse resetting of the flip-Hop 701 normally prevents a new middle stroke from replacing a higher stroke as the outermost stroke of a character when the higher stroke is being tracked in the scan.

The track pulse is also applied to the OR gate 242 (FIGURE 6) and produces one advance T pulse. It is to be noted that no advance S pulse is produced since an existing stroke (i.e., stroke 34) has just repeated itself in a succeedingscan. The advnce T pulse advances the 13 stroke tracker 230 (FIGURE 7) and the new sequence of strokes is ABCD as shown in line 3 of FIGURE l1.

In scan SC3, the trailing edge of the delayed pulse P2 (a-b)T generates a track pulse for stroke B (stroke 30) and the trailing edge of the present pulse P (ab)T generates one for stroke A (stroke 34), The sequence of strokes in the stroke tracker 230 is therefore ABCD. Thus, the stroke tracker 230 is alternately cycling the stages T1 and T3 (i.e., the A and B stroke codes). The rst track pulse in this scan SC3 also resets the flip-flop 701 in the outermost stroke locator 700. No new stroke pulses are produced in this scan so that the B stroke is still recorded as the top stroke.

In the scan SC4, the pulse P5 generates a track pulse for stroke B (stroke 30). The scan SC4 goes White between pulse P3 and the pulse P11, while the previous scan SC3 remained black during this interval. Therefore, the flip-flop 166 in the fork detector 164 (FIGURE 5) is not reset after being set by the trailing edge of pulse P3 (aT). Therefore, the leading edge of pulse P1 (aL) activates the AND gate 168 and produces a fork signal. The fork signal is applied to reset the flip-dop |154 in the track detector 152 to prevent a track signal from being generated at the trailing edge of the delayed pulse P4.

The fork signal is applied to the OR gate 240 in the stroke tracker control circuit 62 (FIGURE 6) and produces an advance S pulse. The stroke counter220 is advanced to acount of 3. Therefore, stroke 32 in FIG- URE 2 has been counted. The AND circuit 282 is deactivated and the AND circuit 284 is activated (FIGURE 7). Thus, the number of active stages in the stroke tracker 230 is increased and the T3 stage is now the last active Vstage of the stroke tracker 230. The input leadlines T11 contain the stroke C code 011. The fork signal has no aiect on the top stroke locator 700 (FIGURE 9). The fork-pulse however produces an advance T pulse in the stroke tracker control circuit 62 (FIGURE 6). The advance T pulse activates both the AND gates 302 and 304 in the stroke tracker 230 (FIGURE 7). The C stroke code is shifted from the T3 stage to the T1 stage. The T1 and T2 stages -are also shifted so that the new sequence of strokes is CBAD (line 7, FIGURE 11). Thus, the third stroke (stroke C) has been correctly sequenced into the stroke tracker 230 and a fork is recorded for this stroke by the character determining circuits indicating that the stroke C began as a fork. The codeV in the To leadlines of the stroke tracker 230 gates open various portions of the character determining circuit 91 to store in diierent locations vthe stroke data derived for strokes A through D. The pulse P3 in this scan SC4 produces a track signal for the stroke A and shifts the stroke tracker 230 so that the sequence of strokes at the end of the scan SC4 is ACBD (line 8, FIGURE 11). The stroke counter 220 not only counts strokes but also increases the number of active stages in the stroke tracker 230 and correctly sequences into the tracker 230 each additional stroke when it is detected. The stroke tracker 230 thus tracks each stroke without confusion.

The scan SCS produces track signals for the three strokes, i.e., strokes B, C and A in that order. The succeeding scan SC6 also does the sarne. The stroke B (stroke` 36) is still recorded as the top stroke.

. At the beginning of scan SC7, the sequence of strokes in the stroke tracker 230 is ACBD (line 13,V FIGURE 11). Thus, the stroke tracker 230 is effectively waitingV 32. The trailing edge of the delayed pulse P13 (bT) also sets the tiip-op 174 in the join detector 172 and the AND gate 176 is activated by the leading edge (bL) of the 14 succeeding delayed pulse P14 (FIGURE 5). A join signal is therefore produced and recorded in the character determining circuits indicating that the stroke A ends as a join. No track signal is produced because the join pulse rests the ip-op 154 in the track detector 152 and prevents a track pulse from being generated.

The join pulse is applied to the OR gate 244 in the stroke tracker control circuit 62 (FIGURE 6). The join pulse after being delayed by the delay circuit 262 sets the flip-flop 264 producing a retire stroke signal. The retire stroke signal is applied to the OR gate 290 in the stroke tracker 230 (FIGURE 7) and causes the T322 input to go from low to high, i.e., 0 to 1.

The output of the OR gate 244 (FIGURE 6) is also applied to produce an advance T pulse (after the retire stroke signal) which causes the T1 stage of the stroke tracker to store the code 101 or A. Thus, stroke A is stored in the stroke tracker 230 as a retired stroke. The new sequence of strokes in the tracker 230 (line 15, FIG- URE l1) is now A'CBD.

The scan SCS does not intercept any portion of the outline trace of the numeral 2. During this scan, the leading edge of the delayed pulse P15 (b1.) from the previous scan SC7 sets the flip-flop 182 in the Vend detector 180 (FIGURE 5). The trailing edge of this delayed pulse P15 "(bT) activates the AND gate 184 and produces an end signal.

The end pulse is applied to the OR gate 244 to generate a retire stroke signal level. The retire stroke signal is applied to the OR gate 290 in the stroke tracker 230. The B stroke code 010 is in the T3 stage of the stroke tracker 230. Thus, the advance T pulse also generated by the end pulse advances a retired B stroke code or into the T1 stage of the stroke tracker 230` and the new sequence of strokes becomes B'ACD.

The delayed pulse P13 also produces an end signal. The end signal (for stroke C) generates an advance T pulse and changes the C code O11 to the C' code 111 while advancing the C' stroke code into the T1 stage of the stroke tracker 230. The sequen-ce of strokes in the tracker 230 is CBA'D and all of the detected strokes have been retired as either joins or ends.

The ls stored in the 22 levels of the stroke tracker V230 stages T1 through T3 activate theAAND gates 326,

330 and 328 in the all strokes retired circuit 320 (FIG- URE 7), and generates an all strokes retired signal which is applied to the stroke tracker control circuit 62 (FIG- URE 6) to prevent the generation of more advance T pulses.

The absence of black video in SCS also causes an end ,character pulse (ECP) to be generated. The character reader now converts the letter codes of the strokes to numerical designations, i.e., topmost stroke 1, middle stroke 2, bottom stroke 3 when the topmost stroke is positioned in a particular location. The method for doing this is to shift the stroke tracker until the code for the topmost stroke appears in the T3 stage. In this case, the B stroke has been detected and stored as the topmost stroke in thetoprnost stroke locator 700. The sequence of strokes existing in the stroke tracker at the time ofl the generation of an end character pulse ECP is CBA'D so that only one advance T pulse is needed to locate the top stroke B in the T3 stage of the stroke tracker 230.

The ECP pulse is applied to start the oscillator 555.

(FIGURE 10) to produce advance T pulses for the stroke tracker. The ,rst advance T pulse shifts the codes in `the stroke tracker to the sequen-ce ACB'D. At this time, the B code is applied to activate the AND gate 721 (FIGURE 9). The other input to the gate 721 is the l output of flip-flop 713 (B top stroke). The AND gate 721 produces a topmost or outermost stroke signal which activates the AND gate 558 (FIGURE l0). The gate 55S in turn sets ip-op 560 (FIGURE 10). The 1 output of flip-flop S60 activates the AND gate 562, which supplies pulses to the mod. 4 counter. The mod. 4 coun- Vf ter permits four advance T pulses to be sent to the stroke tracker 230 before a count of 4 (CT4) resets the flipiiop 550 and stops the oscillator 555 from generating additional advance T pulses.

The sequences which appear in the stroke tracker 230 for the four advance T pulses are:

AC'B'D BACD CBAD AC'B'D As this sequence is shifted in the stroke tracker, stroke B is labeled as number 1 or the topmost stroke. As soon as the topmost stroke is located, then it is known that the next three codes to appear will be that of strokes 2, 3 and 4, respectively, strokes C and A are therefore labeled strokes 2 and 3, respectively. Stroke B is labeled as stroke 4 but since only three strokes were detected in the numeral 2, none of the stroke B information is used for stroke 4.

The character determining circuits 91 store the fact that the stroke C started with a fork and that the stroke A ended with a join, etc. When the C and A stroke codes appear in stroke tracker 230, the character determining circuit 91 converts the stroke C fork into a stroke 2 fork :and the stroke A join into a stroke 3 join. Thus, all of the stroke information signals are converted into information :signals for the absolute strokes in a character. The count -of 4 (CT4) from the mod. 4 counter also produces Aa start recognition cycle (SRC) pulse which strobes the character determining circuit 91 and, finding that the character scanned had the features that stroke 2 began as a fork and that stroke 3 ended as a join, etc., it recognizes that the character scanned was the numeral 2. The SRC pulse also resets the stroke counter 220 and tracker 230 to await a new character.

What is claimed is:

1. In a character reader for reading characters from a document, different ones of said characters being formed of different outlines traces on said document, the outline traces of said characters exhibiting a plurality of topographical features including stroke features, said character reader including means for scanning successive ones of said characters by a plurality of scans to derive video signals serially representing the features of said character, the combination comprising,

means for analyzing said video signals to generate a new stroke signal when a new stroke is detected in a scanline and a track stroke signal when a previously existing stroke is re-detected in a scanline,

a stroke tracking multilevel shift register having a plurality of stages, one for each stroke in a character, with each stage preset to store a differently coded combination of stroke identification signals to identify each stroke in said character,

a plurality of gate circuits, one for each stage of said register, connected between the output of each stage to the input of the first stage of said register to feed back to the input leadlines of said first stage the stroke identification signal which is gated through an activated one of said plurality of gate circuits,

:a counter for counting each additional one of said new stroke signals,

means for coupling said counter to said plurality of gates to activate the gate in the stage of said shift register corresponding to the count in said counter,

a plurality of gates with each separate one of said gates being enabled by a different stroke identification signal appearing in the input leadlines of said stroke tracking shift register,

means for delaying said new stroke signals, and

means for applying a delayed new stroke signal in a scanline to each of said gates in the absence of the prior detection of another stroke in said character.

2.` In a character reader for reading 4characters from a document, different ones of said characters being formed of different outlines traces on said document, the outline traces of said characters exhibiting a plurality of topographical features including stroke features, said character 16 reader including means for scanning successive ones of said characters by a plurality of scans to derive video signals serially representing the features of said character, the combination comprising,

means for analyzing said video signals to generate a new stroke signal when a new stroke is detected in a scanline and a track stroke signal when a previously existing stroke is re-detected in a scanline,

a stroke tracking multilevel shift register having a plurality of stages, one for each stroke in a character, with each stage preset to store a differently coded combination of stroke identification signals to identify each stroke in said character,

a plurality of gate circuits, one for each stage of said register, connected between the output of each stage to the input of the first stage of said register to feed back to the input leadlines of said first stage the stroke identification signal which is gated through an activated one of said plurality of gate circuits,

a counter for counting each additional one of said new stroke signals,

means for coupling said counter to said plurality of gates to activate the gate in the stage of said shift register corresponding to the count in said counter,

a plurality of storage devices one for each stroke of said character for indicating the top stroke of a character,

a plurality of coincidence gates, one for each of said storage devices with each gate having an output coupled to its corresponding storage device, each separate one of said coincidence gates vcoupled to be enabled by a different stroke identification signal appearing in the input leadlines of said stroke tracking shift register,

means for delaying each new stroke signal, and

means for coupling a delayed new stroke signal in a scanline to each of said coincidence gates in the absence of the prior generation in said scanline of one of said track signals or another of said new stroke signals,

said delayed new stroke signal activating the one coincidence gate enabled by a stroke identification from said stroke tracking shift register so that the corresponding storage device is set to classify which of the strokes in said character is the top stroke.

3. In a character reader for reading characters from a document, different'ones of said characters being formed of different outline traces on said document, the outline traces of said characters exhibiting a plurality of topographical features including strokes, the combination comprising,

means for scanning successive ones of said characters by a plurality of vertical scans to derive video signals representing the features of said character,

means for generating a reference signal at the start of each scanline,

means for analyzing said video signals to detect strokes in a character,

means for generating a new stroke signal when a new stroke is detected in a scanline and a track stroke signal when a previously existing stroke is redetected in a scanline,

a plurality of storage devices, one for each stroke in a character, with each having set and reset states,

means for resetting each of said storage devices when a new stroke signal is generated in a scanline,

a delay circuit for delaying said new stroke signal to provide a delayed new stroke signal,

means for turning off said reference signal subsequent layed new stroke signal for a newly detected stroke in a character into its corresponding storage device to set said device so as to classify said newly detected stroke as the topmost stroke in said character, and

means for utilizing said reference signal to gate a deto the generation of either one of said track and said delayed new stroke signals in a scanline to prevent the resetting of said device during said scanline. 4. In a character reader for reading characters, different ones of said characters being formed of different outline traces, the outline traces of said characters exhibiting a plurality of topographical features including strokes, said character reader including a scanner for scanning said characters to derive video signals representing said characters, the combination comprising,

detector means for analyzing said video signals to detect strokes in a character, stroke tracking means coupled to said detector means for assigning labels in sequence to each different stroke detected in a scan and for tracking said strokes from scan to scan, classication means coupled to` said stroke tracking means for classifying as the outermost stroke of a character the particular stroke initially detected in a particular scan of said character regardless of the label of said particular stroke and in the absence of the prior detection of another stroke in said particular scan, reclassication means for transferring the classification of outermost stroke from said particular stroke to a different stroke when said different stroke is detected prior to said particular stroke in a scan subsequent to said particular scan, and means for determining the absolute locations of the remaining strokes in said character with respect to an absolute alphabet of characters based on the detection of the outermost stroke and the sequential 18 labeling of all of the remaining strokes in said character.

5. The combination in accordance with claim 4 wherein said detector means generates a new stroke signal when a new stroke is detected in a scan and a track stroke signal when a previously detected stroke is redetected in a scan and wherein said classification means classiiies the particular stroke from which the first new stroke signal is detected in the scan as the outermost stroke of said character in the absence of the prior generation of a track stroke signal in the Same scan.

6. The combination in accordance with claim 4 wherein said scanner scans successive ones of said characters by a plurality of vertical scans, and said classification means classifies a newly detected stroke in a scan as the topmost stroke of the character in the absence of the prior detection of another stroke in said scan.

7. The combination in accordance with claim 5 wherein said reclassication means changes said classification whenever a track stroke signal is generated in a subsequent scan prior to the redetectio-n of said particular stroke in said subsequent scan.

References Cited UNITED STATES PATENTS 3,065,457 11/1962 Bailey et al 340146.3 3,142,818 7/1964 Holt S40-146.3 3,213,422 10/19615 Fritze et al 340--146.3

DARYL W. COOK, Acting Primary Examiner.

MAYNARD R. WILBUR, Examiner.

J. SMITH, I. I. SCHNEIDER, Assistant Examiners.

UNITED STATES PATENT OFFICE CERTIFICATE OF CORRECTION Patent No. 3,349,372 October 24, 1967 Harold B. Currie It is hereby certified that error appears in the above numbered patent requiring correction and that the said Letters Patent should read as corrected below.

Column 16, line 70, for "means for turning off said reference signal subsequent" read means for utilizing said reference signal to gate a deline 75 for "means for utilizing said reference signal to gate a de-" read means for turning off said reference signal subsequent Signed and sealed this 12th day of November 1968.

(SEAL) Attest:

Edward M. Fletcher, J r.

EDWARD J. BRENNER 

4. IN A CHARACTER READER FOR READING CHARACTERS, DIFFERENT ONES OF SAID CHARACTERS BEING FORMED OF DIFFERENT OUTLINE TRACES, THE OURLINE TRACES OF SAID CHARACTERS EXHIBITING A PLURALITY OF TOPOGRAPHICAL FEATURES INCLUDING STROKES, SAID CHARACTER READER INCLUDING A SCANNER FOR SCANNING SAID CHARACTERS TO DERIVE VIDEO SIGNALS REPRESENTING SAID CHARACTERS, THE COMBINATION COMPRISING, DETECTOR MEANS FOR ANALYZING SAID VIDEO SIGNALS TO DETECT STROKES IN A CHARACTER, STROKE TRACKING MEANS COUPLED TO SAID DETECTOR MEANS FOR ASSIGNING LABELS IN SEQUENCY TO EACH DIFFERENT STROKE DETECTED IN A SCAN AND FOR TRACKING SAID STROKES FROM SCAN TO SCAN, CLASSIFICATION MEANS COUPLED TO SAID STROKE TRACKING MEANS FOR CLASSIFYING AS THE OUTERMOST STROKE OF A CHARACTER THE PARTICULAR STROKE INITIALLY DETECTED IN A PARTICULAR SCAN OF SAID CHARACTER REGARDLESS OF THE LABEL OF SAID PARTICULAR STROKE AND IN THE ABSENCE OF THE PRIOR DETECTION OF ANOTHER STROKE IN SAID PARTICULAR SCAN, RECLASSIFICATION MEANS FOR TRANSFERRING THE CLASSIFICATION OF OUTERMOST STROKE FROM SAID PARTICULAR STROKE TO A DIFFERENT STROKE WHEN SAID DIFFERENT STROKE IS DETECTED PRIOR TO SAID PARTICULAR STROKE IN A SCAN SUBSEQUENT TO SAID PARTICULAR SCAN, AND 